﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.Data.SqlTypes;

namespace Jurassic_Island
{
    public class CADPartidas
    {
        static private String cadenaConexion = ConfigurationManager.ConnectionStrings["JurassicBDConnectionString"].ConnectionString;
        static private String nombreTabla = "Partidas";

        public DataSet ObtenerTablaPartidas()
        {
            DataSet dsPartidas = new DataSet();

            try
            {
                SqlConnection conexion = new SqlConnection(cadenaConexion);
                String consulta = "Select * from Partidas";
                SqlDataAdapter daPartidas = new SqlDataAdapter(consulta, conexion);
                daPartidas.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                daPartidas.Fill(dsPartidas, nombreTabla);
            }
            catch (Exception ex)
            {
                throw (ex);
            }

            return dsPartidas;
        }

        public DataSet ObtenerTablaPartidasPorID(int id_part)
        {
            DataSet dsPartidas = new DataSet();

            try
            {
                SqlConnection conexion = new SqlConnection(cadenaConexion);
                String consulta = "Select * from Partidas where id_part=" + id_part;
                SqlDataAdapter daPartidas = new SqlDataAdapter(consulta, conexion);
                daPartidas.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                daPartidas.Fill(dsPartidas, nombreTabla);
            }
            catch (Exception ex)
            {
                throw (ex);
            }

            return dsPartidas;
        }

        public DataSet ObtenerTablaPartidasPorJugador(String jugador_part)
        {
            DataSet dsPartidas = new DataSet();

            try
            {
                SqlConnection conexion = new SqlConnection(cadenaConexion);
                String consulta = "Select * from Partidas where jugador_part='" + jugador_part + "'";
                SqlDataAdapter daPartidas = new SqlDataAdapter(consulta, conexion);
                daPartidas.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                daPartidas.Fill(dsPartidas, nombreTabla);
            }
            catch (Exception ex)
            {
                throw (ex);
            }

            return dsPartidas;
        }

        public bool ActualizarPartidas(DataSet dsPartidas)
        {
            bool resultado = false;

            try
            {
                SqlConnection conexion = new SqlConnection(cadenaConexion);
                String consulta = "Select * from Partidas";
                SqlDataAdapter daPartida = new SqlDataAdapter(consulta, conexion);
                SqlCommandBuilder cb = new SqlCommandBuilder(daPartida);
                //cb.ConflictOption = ConflictOption.OverwriteChanges;
                //daPartida.UpdateCommand = cb.GetUpdateCommand();
                daPartida.Update(dsPartidas, nombreTabla);
                dsPartidas.Tables[nombreTabla].AcceptChanges();

                resultado = true;
            }
            catch (Exception ex)
            {
                throw (ex);
            }

            return resultado;
        }
    }
}
